Grundkurs SQL

2.5.2  RIGHT JOIN

Die Existenz eines LEFT JOIN legt die Vermutung nahe, dass es auch einen RIGHT JOIN gibt. Dieser arbeitet genau so wie der LEFT JOIN nur mit vertauschten Tabellen. Es werden also alle Datensätze der Tabelle auf der rechten Seite verwendet und – soweit möglich – mit den Datensätzen der linken Seite verbunden.

[21]SELECT vorname, name, abteilungsname
FROM   tbl_abteilung
       RIGHT JOIN tbl_mitarbeiter
       ON  tbl_abteilung.abteilung_ID = tbl_mitarbeiter.abteilung_ID

Hier würden nun alle Mitarbeiter angezeigt und denen die jeweilige Abteilung zugeordnet. Es würden auch Mitarbeiter angezeigt, zu denen kein passender Datensatz in der Tabelle Abteilungen existiert. Solche Datensätze sind zu Testzwecken mit in die Datenbank eingefügt worden.

Der RIGHT JOIN lässt sich leicht durch den LEFT JOIN ersetzen, indem die Tabellen in eine andere Reihenfolge gebracht werden. Entscheidend für den Unterschied von LEFT JOIN und RIGHT JOIN ist, wo die Tabelle in der SQL - Anweisung bezüglich des Schlüsselworts JOIN (links oder rechts) steht. Es gilt also:

Tabelle_1 LEFT JOIN Tabelle_2

1. Liefert das gleiche Ergebnis wie Tabelle_2 RIGHT JOIN Tabelle_1.

2. Im Ergebnis erscheinen immer alle Datensätze von Tabelle_1, dort wo es keinen Datensatz in Tabelle_2 mit übereinstimmendem Schlüssel gibt werden die Felder mit NULL gefüllt.

SQL unterstützt zusätzlich zu den drei Bezeichnern INNER JOIN, LEFT JOIN und RIGHT JOIN noch drei weitere – den NATURAL JOIN, den STRAIGHT JOIN und den CROSS JOIN. Die ersten drei JOINs sind die wichtigsten. Aus Gründen der Vollständigkeit sollen sie hier aber einmal genannt werden. Genauer werden wir an dieser Stelle noch auf den CROSS JOIN eingehen.

Übrigens: Lassen Sie sich von dem Wort JOIN nicht verwirren. Einige Begriffe in SQL sind recht nichtssagend und teilweise schwer zu übersetzen. Sie sollten sich merken, was ein JOIN tut und wie er eingesetzt werden kann. Wenn Sie also dieses Wort lesen oder hören, sollten Sie sofort wissen, dass es sich um eine Verknüpfung von Tabellen über bestimmte (Schlüssel-)Attribute handelt.